Determining exposures to content presented by physical objects

ABSTRACT

Systems and methods are described herein for determining user exposures to content, such as content presented by physical objects (e.g., advertisements on billboards). The systems and methods may determine a probability (an “exposure probability”) that a user has viewed or consumed content, information, or other visual media presented by a physical object, such as a billboard, vehicle, sign, or other structure, and provide the determined probability to various attribution systems, such as systems that attribute user engagements (e.g., store visits, app downloads, website visits, product purchases, and so on) to earlier content exposures.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No. 14/825,978, filed on Aug. 13, 2015, entitled ATTRIBUTING IN-STORE VISITS TO MEDIA CONSUMPTION BASED ON DATA COLLECTED FROM USER DEVICES, which is hereby incorporated by reference in its entirety.

BACKGROUND

Advertisers utilize various media channels to advertise their products and services to consumers. For example, advertisers use emails and online advertisements (“ads”) on websites and mobile applications, or place content within the physical world (e.g., via billboards, signs on buildings or vehicles, and Out of Home (OOH) locations). However, the consumption of content often occurs at one location or via one medium, and the engagement in the desired behavior occurs at another online or real-world location (e.g., a customer visits a store after seeing a billboard advertising a sale at the store, or downloads a mobile application after learning about the application via a sign in a stadium). Advertisers and other content providers generally do not have an effective way of knowing whether the ad had any impact on the consumer.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a suitable computing environment for determining exposures to content presented by physical objects.

FIG. 2 is a block diagram illustrating modules of a content exposure system.

FIG. 3 is a diagram illustrating location trace characteristics representing a location of a mobile device.

FIG. 4 is a diagram illustrating placement characteristics for a physical object.

FIGS. 5A-5B are diagrams illustrating viewsheds for content presented by physical objects.

FIG. 6 is a flow diagram Illustrating a method of providing content exposure information to an attribution system.

FIG. 7 is a diagram illustrating a comparison of placement characteristics of content presented by a physical object to location information of a target mobile device.

FIG. 8 is a diagram illustrating a comparison of placement characteristics of content presented by an in motion physical object to location information of a target mobile device.

FIG. 9 is a block diagram illustrating a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.

DETAILED DESCRIPTION

Systems and methods are described herein for determining user exposures to content, such as content presented by physical objects (e.g., advertisements on billboards). The systems and methods may determine a probability (an “exposure probability”) that a user has viewed or consumed content, information, or other visual media presented by a physical object, such as a billboard, vehicle, sign, or other structure, and provide the determined probability to various attribution systems, such as systems that attribute user engagements (e.g., store visits, app downloads, website visits, product purchases, and so on) to earlier content exposures.

In some embodiments, the systems and methods receive device location information associated with a target mobile device positioned at a certain geographic location, and receive object placement information associated with content presented by a physical object at the certain geographic location. The systems and methods determine an exposure probability that is based on a comparison of the received device location information to the received object placement information, and, in some cases, provide the determined exposure probability to an attribution system.

For example, the systems and methods may determine a mobile device associated with a user is located within a viewshed of content presented by a physical object, and determine the mobile device associated with the user moved toward a facing direction of the physical object, where the facing direction of the physical object is a direction that presents the content.

The systems and methods may generate an exposure probability for an exposure of content presented by the physical object to the user, where the exposure probability is generated based on locations of the mobile device within the viewshed of the content presented by the physical object and based on an angle between a direction of movement of the mobile device and a facing direction of the physical object. The systems and methods may then attribute the exposure of the content presented by the physical object of the user to a conversion or engagement event associated with the user based at least in part on the generated probability.

In some embodiments, the systems and methods may include at least one server computer coupled to a network, and at least one memory storing instructions for execution by the computer. The server computer receives device location information associated with each of multiple mobile phones positioned at certain geographic locations, where each mobile phone provides, directly or indirectly, a series of location coordinates to the server computer via the network. The server computer then accesses object placement information associated with visually-perceptible content presented by physical objects at the certain geographic locations, where the object placement information for each physical object includes viewshed characteristics for the physical object. The server computer then computes exposure probabilities based on a comparison of each received device location information to the accessed object placement information, where each computed exposure probability represents a probability that a user of one of the multiple mobile phones visually perceived content presented by one of the physical objects.

Thus, in some embodiments, the systems and methods may facilitate the attribution of customer engagements to previous exposures of Out of Home advertisements and other real or physical world content displays, among other benefits.

Various embodiments and implementations of the attribution system will now be described. The following description provides specific details for a thorough understanding and an enabling description of these embodiments and implementations. One skilled in the art will understand, however, that the embodiments and implementations may be practiced without many of these details. Additionally, some well-known structures or functions may not be shown or described in detail, so as to avoid unnecessarily obscuring the relevant description of the various embodiments and implementations. The terminology used in the description presented below is intended to be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific embodiments and implementations of the attribution system.

Examples of a Suitable Computing Environment

FIG. 1 is a block diagram illustrating a suitable computing environment 100 for determining exposures to content presented by physical objects. The computing environment 100 includes a mobile device 110, such as a smart phone, tablet computer, smart watch, and so on, that is positioned within a certain geographical area or location 120. The location 120 includes a physical object 125 (e.g., advertising billboard), that presents visual content to a user associated with the mobile device 110.

A content exposure system 150 communicates with the mobile device 110 over a network 130, such as the Internet. The content exposure system 150 may include various components, modules, and/or algorithms configure to perform the various processes described herein, such as processes for determining whether a user associated with the mobile device 110 is exposed to content presented by the physical object 125 within the location 120.

The content exposure system 150 may receive information, over the network 130, from a variety of sources, and utilize the received information when determining whether users are exposed to OOH advertising and other visual content within the real world. For example, the content exposure system 150 may access or receive information from various sensors of the mobile device 110 (e.g., GPS sensors, triangulation components, and so on) that indicate a location, orientation, heading, direction, velocity, speed, or other information indicative of a previous, current, or predicted location of the mobile device 110 and/or an orientation of the mobile device with three-dimensional space.

The content exposure system 150 may also access or receive information associated with the physical object 125, such as placement information for the physical object 125 from a placement information system 140 or other database or system that stores and maintains information associated with objects presenting content in the real world. In some cases, the content exposure system 150 may store or maintain placement information. Example placement information may include various characteristics associated with the placement of the physical object 125 within the location 120, such as Latitude and Longitude (lat long) information, information identifying a cardinal direction (e.g., north, east, west, south) for the content presented by the physical object 125, the date or time range for the content, weekly impression and reach estimates, placement type information (e.g., the type of object, such as a bulletin, a poster, a billboard, a vehicle, a transit shelter, and so on).

In some embodiments, the content exposure system 150 sends information to an attribution system 160, such as information representing estimated or determined probabilities or likelihoods of user exposures to content presented by physical objects. Further details regarding the attribution system 160 will now be discussed.

The Attribution System

The attribution system 160 disclosed herein ties content, such as advertisements (“ads”) and other information or content impressions to visits to target places, to provide content providers or advertisers one or more metrics characterizing the effectiveness of the ad impressions. Based on impression data associated with an ad campaign (e.g., exposure probabilities) and geolocation data collected directly from a panel of mobile device users (“panelists”), the attribution system 160 attributes real-world, physical visits and other conversion events to exposures of Out of Home (OOH) advertisements and content. In many instances, the attribution is a function of time elapsed between the exposure and the conversion event, such as a visit to a physical place associated with the advertisement. A place, as used herein, includes any physical establishment, for example, a restaurant, a park, a store, a gas station, and so on.

The attribution system 160, in some embodiments, leverages a data collection system to obtain user information, including location data, collected directly from the panelists. The data collection system obtains and validates location data from the panelists. The user information collected by the data collection system includes, for example, latitude, longitude, altitude determinations, sensor data (e.g., compass/bearing data, accelerometer or gyroscope measurements), and other information that can be used to identify a panelist's location and activity. Additional details on the data collection system can be found in U.S. patent application Ser. No. 13/405,182, which is hereby incorporated by reference in its entirety.

In some embodiments, the data collection system may receive, obtain, or access information from third party sources in order to enhance or modify attribution metrics for ad impressions. For example, a third party source of data, such as a payment processor or social network, may provide data confirming a purchase or use of a product or service associated with an ad impression. Such purchase or use information may, therefore, augment the data associated with an ad campaign and the geolocation data collected directly from the panel of mobile electronic device users.

In some embodiments, the attribution system 160 may receive, obtain, or access information from third party sources in order to measure purchase data from a larger population of users, such as any users associated with a third party source. For example, the attribution system may utilize purchase or use data directly from the third party sources (e.g., data indicating a user or group of users made a purchase of a product or service at a certain location, via a certain retailer, and so on) as attribution for ad impressions.

The attribution system 160, in various embodiments, also leverages an inference pipeline that recognizes, based on location readings, whether a user visited a target place, and if so, determines the probability of the user at the target place and how much time the user spent at the target place. Additional details on the inference pipeline can be found in U.S. Pat. No. 8,768,876, which is hereby incorporated by reference in its entirety.

In some embodiments, the process of attributing a visit to a target place starts with an advertiser (e.g., a mobile advertiser HMC) delivering ads (e.g., mobile ads, desktop ads, television ads) through an ad-network to a group of users on their devices (e.g., mobile devices, desktop computers, television, voice telephony, tablets, mobile gaming devices, smart phones) as part of an ad campaign. In other embodiments, ads may be delivered to, or accessed by, the group of users via other media types, such as via print, billboards, radio, and others described herein.

Users who receive the ad impressions form a campaign population. The advertiser or the ad-network provides impression data and details of the ad campaign to the attribution system. The impression data can include, for example, device identifiers, impression timestamps, targeting identifiers, and other metadata associated with the campaign or the target of the impression. For example, the metadata may include user agent strings and segment identifiers. The attribution system then uses the device identifier, IP address, device model, operating system version and/or any other metadata to match the campaign population against the panelists of the attribution system to identify panelists who were exposed to the ad impressions (“impression population”). In some embodiments, impression data can be collected by the attribution system.

After identifying the impression population based on the match, a baseline population is constructed in one of two ways. First, the advertiser may provide an indicator within the impression population that codes for membership in a control group (e.g., those impressions associated with no advertisement or the presentation of an unrelated advertisement). When no control group is specified, the attribution system identifies the panelists who did not match and includes them into a baseline or control group. The attribution system then performs experimental analysis to assess whether the ad impression had any impact on changing the impression users' physical store visitation behavior. In some embodiments, the attribution system can perform other analyses. For example, the attribution system can determine metrics such as costs per store visit, frequency of store visits, likelihood of store visits for different geography and demographics, or the like. These and other metrics from the analyses enable advertisers to make adjustments to their ad campaigns to improve performance (e.g., increase store visits, target certain demographics). The metrics generated by the attribution system 160 also describe or characterize the nature of the ad campaign run by advertisers.

Thus, in some embodiments, the attribution system 160 performs various processes for attributing real world (e.g., store visits, purchases) or online-based (e.g., website visits, app downloads) conversion events and actions to OOH exposures determined by the content exposure system 150. Further details regarding the attribution system 160 may be found in U.S. patent application Ser. No. 14/825,978, filed on Aug. 13, 2015, entitled ATTRIBUTING IN-STORE VISITS TO MEDIA CONSUMPTION BASED ON DATA COLLECTED FROM USER DEVICES, which is hereby incorporated by reference in its entirety.

Examples of Determining User Exposures to Out of Home Presented Content

As described herein, the systems and methods may utilize device characteristics and placement characteristics when determining probabilities of user exposures to content presented by physical objects. FIG. 2 is a block diagram illustrating modules of the content exposure system 150. The content exposure system 150 may include one or more modules and/or components to perform operations for determining probabilities of user exposure to content. The modules and/or components may be hardware, software, or a combination of hardware and software, and may be executed by one or more processors. For example, the content exposure system 150 may include a device location module 210, a placement information module 220, a view duration module 230, and an exposure determination module 240.

In some embodiments, the device location module 210 is configured and/or programmed to receive device location information associated with a target mobile device positioned at a certain geographic location. For example, the device location module 210 may receive a series of lat long (latitude and longitude) coordinates for the mobile device 110 within the location 120, and determine location sensor trace information using the coordinates.

FIG. 3 is a diagram 300 illustrating displayed location trace characteristics for a mobile device. The diagram 300 includes raw location points 310 for the mobile device 110 and smooth heading estimates 320 for the mobile device 110 as the mobile device 110 moves through space. The smooth heading estimates may be based on one or more estimation algorithms that determine estimates 320 of heading directions for the mobile device 110 based on the positional or location data 310 (e.g., GPS data, accelerometer data, gyroscope data, and so on) of the mobile device 110.

For example, the device location module 210 may determine a moving average of the differences in latitudes and longitudes of the positions 310 to obtain a smoothed estimate for the device heading. As another example, the device location module 210 may utilize Kalman filtering or other techniques when determining heading estimates for the mobile device 110.

Referring back to FIG. 2, in some embodiments, the placement information module 220 is configured and/or programmed to receive object placement information associated with content presented by a physical object at the certain geographic location. For example, the placement information module 220 may receive and/or generate a placement viewshed for the physical object based on a geography, location, or area that is viewable from the physical object.

The placement information module 220, in some embodiments, may utilize placement information received from the placement information system 140, and determine or modify the information to reflect certain geographical features surrounding the physical object 125 within the location 120. For example, when the physical object 125 is a billboard positioned in a city where streets and billboards face at roughly 45 degree angles to the cardinal directions, the placement information module 220 may analyze the direction of proximate roads, in order to determine an accurate and facing direction for the physical object 125.

Following the example, FIG. 4 is a map diagram 400 illustrating modified placement characteristics for a billboard 410. The billboard is located proximate to 7th Avenue, shown as road 420 within the map diagram 400, which travels at an angle approximately 30 degrees from the N-S cardinal direction. The placement information module 220, utilizing the information from the map diagram 420, modifies the facing angle 440 of the billboard to be 30 degrees North of West, instead of a given facing angle 430 of due West, from data provided by the placement information system 140.

In addition, the placement information module 220 generates or determines a viewshed for the physical object 125, based on a density of structures and other features within the surrounding geography of the location 120. For example, if an observer is within a viewable distance of a billboard on I-90 in Montana, the billboard is likely to be viewable from roughly 90 degrees to the left or right of the facing direction of the billboard. However, a billboard in Manhattan may be only viewable from a narrow corridor along the street running parallel to the facing direction of the billboard. Thus, the angle of the viewshed for an interstate highway billboard may be larger than the angle of the viewshed for a billboard in a dense urban area.

In order to account for variations in surrounding geographies, the placement information module 220 may determine, generate, or estimate a viewshed for a physical object using a variety of different estimation techniques or processes. For example, the placement information module 220 may perform the following operations to estimate a viewshed for a billboard.

First, the placement information module 220 defines the viewshed to be a “cone” of visibility emanating at a specific angle from a facing direction of a billboard, such as an arbitrary partition of geographic space. Next, the placement information module 220 generates panel impressions by assuming a 90 degree viewshed for the billboard (e.g., panel impressions as discussed herein with respect to the attribution system 160 or based on received ground truth data for the billboard).

The placement information module 220 regresses weekly estimates of impressions (e.g., via 3rd party source or proprietary survey-based data) to the panel impressions, and regresses residuals against a variable set of data that includes information about nearby road segments, nearby structures, and the number and nature of nearby businesses that surround the billboard.

Then, the placement information module 220 determine the viewshed angle by transforming the predicted residual. For example, a positive (or, negative) residual suggests that the panel impression data over- (or, under-) estimates the ground truth impression estimates, and that the viewshed angle should be made smaller (or, larger) than the initial set value of 90 degrees. Next, to estimate the viewshed for a specific or given placement of the billboard, placement information module 220 intersects a geofence (e.g., derived from 3rd party sources, such as a mapping application) associated with a type of placement along with the estimated viewshed angle.

For example, FIG. 5A depicts a wide estimated angle (e.g., 60-90 degrees) for a viewshed 520 of a billboard 510 positioned at an open-freeway location 500. As another example, FIG. 5B depicts a narrow estimated angle (e.g., 5-30 degrees) for a viewshed 570 of a billboard 560 positioned within a dense or urban location 550.

Thus, the placement information module 220 may receive information associated with placement of the content presented by the physical object 125 and/or may generate or modify placement characteristics (e.g., facing angle, estimated viewshed) for the physical object 125.

Referring back to FIG. 2, in some embodiments, the exposure determination module 230 is configured and/or programmed to determine an exposure probability that is based on a comparison of the received device location information to the received object placement information. For example, the exposure determination module 230 may determine a positive or actual exposure of a user to content when a position of a target mobile device is within an estimated viewshed for content presented by a physical object, and when a directional heading of the target mobile device with respect to a presentation angle of the content presented by the physical object is within an angle of 90 degrees.

In some embodiments, the exposure determination module 230 may determine an exposure probability (e.g., from 0 percent probability of exposure to 100 probability of exposure) as a function of the received device location information and the received object placement information, using the following formula: L_exposure=F(EXPOSURE|Pu,Bi);

where L_exposure is the exposure probability, EXPOSURE is a state of exposure (e.g., based on collected ground truth data of asking panelists if they remember seeing specific content at a specific time via mobile surveys sent to their devices), Pu is a set of location trace characteristics for the target mobile device, and Bi is a set of placement characteristics of the content presented by the physical object.

In some embodiments, the view duration module 240 is configured and/or programmed to receive view duration information associated with a time duration within which the target mobile device is positioned within the certain geographic location. For example, the view duration module 240 may receive information identifying a time period within which the mobile device 110 was positioned within the location 120.

Thus, in some embodiments, the exposure determination module 230 may utilize location data for the mobile device 110 within the location 120 to derive device-level measures of viewability, by taking a dynamic location trace (see FIG. 3) of the mobile device 110. Using the trace information, the exposure determination module 230 may dynamically determine various different characteristics during a potential exposure of a user to an advertisement or other content. As described herein, these characteristics include:

Device heading angle information, where an exposure is more likely when a subject device is moving toward the facing direction of a physical object (e.g., the direction towards which presented advertisements and other content faces);

Placement viewshed information, where a viewshed may be narrower in dense urban environments than near freeways with few occluding structures; and

Dwell or duration information, where an exposure is more likely when the mobile device 110 is located proximate to an advertisement (e.g., in a viewable state) for a certain time period; and so on.

Thus, using heading information associated with the mobile device 110, and viewshed information associated with the content presented by the physical object 125, the exposure determination module 230 may determine the mobile device is exposed (e.g., determine an exposure probability or likelihood of 90-100 percent) when the position of the device is within the viewshed of the physical object 125, and the angle of the heading of the mobile device 110 relative to the facing angle of the physical object 125 is within 90 degrees (or another suitable range).

As described herein, the content exposure system 150 performs various algorithmic processes when determining whether a device (or, associated user) is exposed to content presented by a physical object (e.g., a billboard advertisement), and providing the exposure information to systems that attribute exposures to conversion events and other associated user actions. FIG. 6 is a flow diagram Illustrating a method 600 of providing content exposure information to an attribution system. The method 600 may be performed by the content exposure system 150 and, accordingly, is described herein merely by way of reference thereto. It will be appreciated that the method 600 may be performed on any suitable hardware or devices/components within the content exposure system 150.

In operation 610, the content exposure system 150 receives device location information associated with a target mobile device positioned at a certain geographic location. For example, the device location module 210 may receive a series of lat long (latitude and longitude) coordinates for the mobile device 110 within the location 120, and determine heading information for the target mobile device using the coordinates.

In operation 612, the content exposure system 150 receives object placement information associated with content presented by a physical object at the certain geographic location. For example, the placement information module 220 may receive and/or generate a placement viewshed for the physical object based on a geography, location, or area that is viewable from the physical object.

Optionally, in operation 615, the content exposure system 150 receives view duration information associated with a time duration within which the target mobile device is positioned within the certain geographic location. For example, the view duration module 240 may receive information identifying a time period within which the mobile device 110 was positioned within the location 120.

In operation 620, the content exposure system 150 determines an exposure probability that is based on a comparison of the received device location information to the received object placement information. For example, the exposure determination module 230 may determine a positive or actual exposure of a user to content when a position of a target mobile device is within an estimated viewshed for content presented by a physical object, and when a directional heading of the target mobile device with respect to a presentation angle of the content presented by the physical object is within an angle of 90 degrees.

As described herein, the exposure determination module 230 may determine an exposure probability as a function of the received device location information and the received object placement information, as L_exposure=F(EXPOSURE|Pu, Bi); where L_exposure is the exposure probability, EXPOSURE is a state indicating that the object was viewed, Pu is a set of location trace characteristics for the target mobile device, and Bi is a set of placement characteristics of the content presented by the physical object. The determined exposure probability may be a binary value (e.g., exposure=yes or confirmed or exposure=no) and/or may be within a range of probabilities (0 percent to 100 percent), as described herein.

FIG. 7 is a diagram 700 illustrating a comparison of placement characteristics of content presented by a physical object to location information of a target mobile device. The diagram 700 may represent location 120, where the mobile device 110 is positioned and travels a trace 720 of positions with respect to various billboards 710A-B and 715A-C. As depicted, the estimated heading of the trace 720 of the mobile device 110 is in the direction of the billboards 710A-B and within viewsheds 712A, 712B of the billboards 710A, 710B, respectively, and not within viewsheds of the other billboards 715A-C. Therefore, the exposure determination module 230 determines the mobile device 110 is exposed to billboards 710A and 710B and assigns a high or 100 percent exposure probability to the billboards 710A and 710B, and determines the mobile device 110 is not exposed to billboards 715A-C, and assigns a low or 0 percent exposure probability to the billboards 715A-C.

In operation 630, the content exposure system 150 provides the determined exposure probability to an attribution system. For example the content exposure system 150 may provide estimated probability values to the attribution system 160 or other entities configured to measure advertisement effectiveness for various different types of conversions and conversion events, such as website visits and/or purchases and application installs, physical stores visits and/or purchases, attitudinal survey responses for brand and/or product awareness, and so on.

As described herein, the content exposure system 150 may determine exposures of mobile devices 110 to various types of OOH advertising, such as in motion objects and indoor environments. Example OOH types include:

Takeover advertising in indoor environments, such as in a subway tunnel, mall, airport, arena, stadium, and so on. In such environments, the content exposure system 150 may determine when an indoor environment is entered, and predict a high exposure probability;

Cinema advertising, where advertisements are often shown in theaters before the start of a movie. The content exposure system 150 may utilize a combination of visitation estimation and surveys to define exposure for cinema advertising, and determine a device is exposed when the visit is made to a target theater location and a panelist arrived 10 minutes before the movie start time, as measured by a visit estimation system or a survey;

Transit Wraps and Transit-Side advertising, where a bus wrapped in a graphical advertisement and/or posters shown on the back and side of transit vehicles. The content exposure system 150 may determine viewability or exposure intersecting a device's location trace with static or real-time bus schedules. For example, FIG. 8 depicts a bus with presented content 810 travelling within a location 800, and the position 820 of the mobile device is known to be near the bus (e.g., within 60 ft). When the bus 810 is within a certain distance to the position 820 of the mobile device 110, the device 110 enters a moving viewshed established for the wrapped advertisements of the bus 810, and the content exposure system 150 may determine an exposure;

Inside Transit Card advertising, where advertisements appear above the windows inside the passenger compartment of buses and trains. The content exposure system 150 may utilize location data, and static or real-time bus schedules, to determine viewability or exposures by detecting when the mobile device 110 is traveling on a bus or train that has a known advertisement The content exposure system 150 may perform a location match to correlate in space and time the user location with the location of the bus or train; and/or may perform a sensor match to correlate a pattern of activity across the various device sensors (e.g., accelerometer, gyroscope, compass, and so on) with signatures known to be evident when a device is traveling on a bus or train; and so on.

Thus, in some embodiments, the content exposure system 150 may determine a user was exposed to content presented by a physical object. The content exposure system 150 determines a mobile device associated with the user is located within a viewshed of the content presented by the physical object, and determines the mobile device associated with the user moved toward a facing direction of the physical object, where the facing direction of the physical object is a direction that presents the content.

Suitable Computing Devices

FIG. 9 shows a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.

In the example of FIG. 9, the computer system 900 includes a processor 905, main memory 910, non-volatile memory 915, and an interface device 920. Various common components (e.g., cache memory) are omitted for illustrative simplicity. The computer system 900 is intended to illustrate a hardware device on which the systems and methods can be implemented. The computer system 900 can be of any applicable known or convenient type. The components of the computer system 900 can be coupled together via a bus or through some other known or convenient device.

The processor 905 may be, for example, a conventional microprocessor such as an Intel Pentium microprocessor or Motorola power PC microprocessor. One of skill in the relevant art will recognize that the terms “machine-readable (storage) medium” or “computer-readable (storage) medium” include any type of device that is accessible by the processor.

The memory 910 is coupled to the processor by, for example, a bus 925. The memory can include, by way of example but not limitation, random access memory (RAM), such as dynamic RAM (DRAM) and static RAM (SRAM). The memory can be local, remote, or distributed.

The bus 925 also couples the processor to the non-volatile memory 915 and drive unit 945. The non-volatile memory 915 is often a magnetic floppy or hard disk, a magnetic-optical disk, an optical disk, a read-only memory (ROM), such as a CD-ROM, EPROM, or EEPROM, a magnetic or optical card, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory during execution of software in the computer 900. The non-volatile storage can be local, remote, or distributed. The non-volatile memory is optional because systems can be created with all applicable data available in memory. A typical computer system will usually include at least a processor, memory, and a device (e.g., a bus) coupling the memory to the processor.

Software is typically stored in the non-volatile memory and/or the drive unit. Indeed, for large programs, it may not even be possible to store the entire program in the memory. Nevertheless, it should be understood that for software to run, if necessary, it is moved to a computer readable location appropriate for processing, and for illustrative purposes, that location is referred to as the memory in this paper. Even when software is moved to the memory for execution, the processor will typically make use of hardware registers to store values associated with the software, and local cache. Ideally, this serves to speed up execution. As used herein, a software program is assumed to be stored at any known or convenient location (from non-volatile storage to hardware registers) when the software program is referred to as “implemented in a computer-readable medium 950.” A processor is considered to be “configured to execute a program” when at least one value associated with the program is stored in a register readable by the processor.

The bus 925 also couples the processor to the network interface device 920. The interface can include one or more of a modem or network interface. It will be appreciated that a modem or network interface can be considered to be part of the computer system. The interface can include an analog modem, isdn modem, cable modem, token ring interface, satellite transmission interface (e.g., “direct PC”), or other interfaces for coupling a computer system to other computer systems. The interface can include one or more input 935 and/or output devices. The I/O devices can include, by way of example but not limitation, a keyboard, a mouse or other pointing device 940, disk drives, printers, a scanner, and other input and/or output devices, including a display device 930. The display device can include, by way of example but not limitation, a cathode ray tube (CRT), liquid crystal display (LCD), or some other applicable known or convenient display device. For simplicity, it is assumed that controllers of any devices not depicted in the example of FIG. 9 reside in the interface.

In operation, the computer system 900 can be controlled by operating system software that includes a file management system, such as a disk operating system. One example of operating system software with associated file management system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Wash., and their associated file management systems. Another example of operating system software with its associated file management system software is the Linux operating system and its associated file management system. The file management system is typically stored in the non-volatile memory and/or drive unit and causes the processor to execute the various acts required by the operating system to input and output data and to store data in the memory, including storing files on the non-volatile memory and/or drive unit.

Some portions of the detailed description may be presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission, or display devices.

The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the methods of some embodiments. The required structure for a variety of these systems will appear from the description below. In addition, the techniques are not described with reference to any particular programming language, and various embodiments may thus be implemented using a variety of programming languages.

In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.

The machine may be a server computer, a client computer, a personal computer (PC), a tablet PC, a laptop computer, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, an iPhone, a Blackberry, a processor, a telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.

While the machine-readable medium or machine-readable storage medium is shown in an exemplary embodiment to be a single medium, the term “machine-readable medium” and “machine-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” and “machine-readable storage medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the presently disclosed technique and innovation.

In general, the routines executed to implement the embodiments of the disclosure, may be implemented as part of an operating system or a specific application, component, program, object, module, or sequence of instructions referred to as “computer programs.” The computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processing units or processors in a computer, cause the computer to perform operations to execute elements involving the various aspects of the disclosure.

Moreover, while embodiments have been described in the context of fully functioning computers and computer systems, those skilled in the art will appreciate that the various embodiments are capable of being distributed as a program product in a variety of forms, and that the disclosure applies equally regardless of the particular type of machine or computer-readable media used to actually effect the distribution.

Further examples of machine-readable storage media, machine-readable media, or computer-readable (storage) media include but are not limited to recordable type media such as volatile and non-volatile memory devices, floppy and other removable disks, hard disk drives, optical disks (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital Versatile Disks, (DVDs), etc.), among others, and transmission type media such as digital and analog communication links.

Conclusion

Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” As used herein, the terms “connected,” “coupled,” or any variant thereof, means any connection or coupling, either direct or indirect, between two or more elements; the coupling of connection between the elements can be physical, logical, or a combination thereof. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, shall refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the above Detailed Description using the singular or plural number may also include the plural or singular number respectively. The word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.

The above detailed description of embodiments of the disclosure is not intended to be exhaustive or to limit the teachings to the precise form disclosed above. While specific embodiments of, and examples for, the disclosure are described above for illustrative purposes, various equivalent modifications are possible within the scope of the disclosure, as those skilled in the relevant art will recognize. For example, while processes or blocks are presented in a given order, alternative embodiments may perform routines having steps, or employ systems having blocks in a different order, and some processes or blocks may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative or subcombinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, while processes or blocks are at times shown as being performed in series, these processes or blocks may instead be performed in parallel, or may be performed at different times. Further any specific numbers noted herein are only examples: alternative implementations may employ differing values or ranges.

The teachings of the disclosure provided herein can be applied to other systems, not necessarily the system described above. The elements and acts of the various embodiments described above can be combined to provide further embodiments.

Any patents and applications and other references noted above, including any that may be listed in accompanying filing papers, are incorporated herein by reference. Aspects of the disclosure can be modified, if necessary, to employ the systems, functions, and concepts of the various references described above to provide yet further embodiments of the disclosure.

These and other changes can be made to the disclosure in light of the above Detailed Description. While the above description describes certain embodiments of the disclosure, and describes the best mode contemplated, no matter how detailed the above appears in text, the teachings can be practiced in many ways. Details of the system may vary considerably in its implementation details, while still being encompassed by the subject matter disclosed herein. As noted above, particular terminology used when describing certain features or aspects of the disclosure should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the disclosure with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the disclosure to the specific embodiments disclosed in the specification, unless the above Detailed Description section explicitly defines such terms. Accordingly, the actual scope of the disclosure encompasses not only the disclosed embodiments, but also all equivalent ways of practicing or implementing the disclosure under the claims.

From the foregoing, it will be appreciated that specific embodiments of the attribution system have been described herein for purposes of illustration, but that various modifications may be made without deviating from the spirit and scope of the embodiments. Accordingly, the embodiments are not limited except as by the appended claims. 

We claim:
 1. A system, comprising: at least one server computer coupled to a network; at least one memory storing instructions for execution by the computer, wherein the instructions are configured to cause the server computer to perform operations comprising: receiving, by one or more processors, GPS data from a mobile device at a geographic location, the GPS data comprising a series of location coordinates that identify the geographic location; determining a heading of the mobile device based on the series of location coordinates, the heading of the mobile device indicating a direction of travel, wherein determining the heading comprises determining a device heading angle based at least upon the GPS data, accelerometer data, and gyroscope data collected from the mobile device; retrieving object placement information through a network from a database separate from the system and associated with the geographic location of the mobile device, the database comprising at least the object placement information of content presented by a physical object at the geographic location identified by the series of location coordinates received from the mobile device, the object placement information indicating at least a viewshed characteristic of the physical object that presents the content; computing an exposure probability of the mobile device to the content presented by the physical object based on a comparison of the heading of the mobile device and the viewshed characteristic of the physical object, wherein the exposure probability represents a probability that a user of the mobile device perceived the content presented by the physical object, and wherein computing the exposure probability comprises: when the device heading angle indicates that the mobile devices is heading towards the physical object, increasing the exposure probability; determining a dwell duration within the view shed of the physical object at least upon the GPS data, the accelerometer data, and the gyroscope data collected from the mobile device; and when the dwell duration exceeds a threshold time period, increasing the exposure probability; and attributing the exposure probability of the mobile device to the content to a conversion event associated with the user within an impression log, in response to the computing the exposure probability.
 2. A computer-implemented method of providing content exposure information to an attribution system, the method comprising: receiving GPS data associated with a target mobile device, the GPS data comprising a series of location coordinates that identify a geographic location; determining a heading of the target mobile device based on the series of location coordinates, the heading of the target mobile device indicating a direction of travel, wherein determining the heading comprises determining a device heading angle based at least upon the GPS data, accelerometer data, and gyroscope data collected from the mobile device; retrieving object placement information through a network from a database separate from the system and associated with the geographic location of the target mobile device, the database comprising at least the object placement information of content presented by a physical object at the geographic location identified by the series of location coordinates received from the mobile device, the object placement information indicating at least a viewshed characteristic of the physical object that presents the content; computing an exposure probability of the mobile device to the content presented by the physical object based on a comparison of the heading of the target mobile device to the viewshed characteristic of the physical object, wherein the exposure probability represents a probability that a user of the target mobile device perceived the content presented by the physical object, and wherein computing the exposure probability comprises: when the device heading angle indicates that the mobile devices is heading towards the physical object, increasing the exposure probability; determining a dwell duration within the view shed of the physical object at least upon the GPS data, the accelerometer data, and the gyroscope data collected from the mobile device; and when the dwell duration exceeds a threshold time period, increasing the exposure probability; and providing the exposure probability of the mobile device to an attribution system; and attributing the exposure probability of the mobile device to the content to a conversion event associated with the user within an impression log of the attribution system, in response to the computing the exposure probability.
 3. The computer-implemented method of claim 2, wherein determining the exposure probability includes: determining the exposure probability as a function of the GPS data and the view shed characteristic of the physical object, wherein the function is formulated as: L_exposure=F(EXPOSURE|Pu, Bi); where L_exposure is the exposure probability, EXPOSURE is a state of exposure, Pu is a set of location trace characteristics for the target mobile device, and Bi is a set of placement characteristics of the content presented by the physical object.
 4. The computer-implemented method of claim 2, wherein determining the dwell duration comprises: determining the dwell duration based at least upon a comparison of the GPS data, the accelerometer data, and the gyroscope data to the view shed characteristic of the physical location.
 5. The computer-implemented method of claim 2, further comprising: retrieving survey information associated with the content presented by the physical object, wherein the survey information includes information from users of other mobile devices that viewed the content presented by the physical object; and determining the exposure probability based on a comparison of the GPS data to the view shed characteristic of the physical object and the survey information.
 6. The computer-implemented method of claim 2, wherein determining the exposure probability includes determining an exposure probability of 0 percent to 100 percent.
 7. The computer-implemented method of claim 2, wherein determining the exposure probability includes determining a confirmed exposure, wherein determining the confirmed exposure includes: determining that a heading of the mobile device with respect to the content presented by the physical object is within an angle of 90 degrees.
 8. The computer-implemented method of claim 2, wherein receiving the GPS data associated with the mobile device includes receiving information from one or more GPS sensors of the mobile device.
 9. The computer-implemented method of claim 2, wherein receiving the object placement information associated with the content presented by the physical object includes: receiving lat-long coordinates of the physical object; and determining a facing angle of the content presented by the physical object.
 10. The computer-implemented method of claim 2, wherein the content presented by the physical object at the certain geographic location is an advertisement presented by a billboard.
 11. The computer-implemented method of claim 2, wherein the content presented by the physical object at the certain geographic location is an advertisement presented by a vehicle traveling within the certain geographic location.
 12. A non-transitory computer-readable storage medium whose contents, when executed by a computing system, cause the computing system to perform operations for determining a user was exposed to content presented by a physical object, the operations comprising: receiving GPS data from a mobile device at a geographic location, the GPS data comprising a series of location coordinates that identify the geographic location; determining a heading of the mobile device based on the series of location coordinates, the heading of the mobile device indicating a direction of travel, wherein determining the heading comprises determining a device heading angle based at least upon the GPS data, accelerometer data, and gyroscope data collected from the mobile device; retrieving object placement information through a network from a database separate from the system and associated with the geographic location of the mobile device, the database comprising at least the object placement information of content presented by a physical object at the geographic location identified by the series of location coordinates received from the mobile device, the object placement information indicating at least a viewshed characteristic of the physical object that presents the content; computing an exposure probability of the mobile device to the content presented by the physical object based on a comparison of the heading of the mobile device and the viewshed characteristic of the physical object, wherein the exposure probability represents a probability that a user of the mobile device perceived the content presented by the physical object, and wherein computing the exposure probability comprises: when the device heading angle indicates that the mobile devices is heading towards the physical object, increasing the exposure probability; determining a dwell duration within the view shed of the physical object at least upon the GPS data, the accelerometer data, and the gyroscope data collected from the mobile device; and when the dwell duration exceeds a threshold time period, increasing the exposure probability; and attributing the exposure probability of the mobile device to the content to a conversion event associated with the user within an impression log, in response to the computing the exposure probability.
 13. The non-transitory computer-readable storage medium of claim 12, wherein the content presented by the physical object is an advertisement presented by a billboard. 